#pragma once


class StatusAttributes
{
	int mStatPoints;

	int mLevel;

	int mHealth;
	int mDamage;

	int str;
	int agi;
	int vit;

	float speed;
	unsigned int attackSpeed;
	void ComputeStatPoints();
public:

	StatusAttributes();

	void LevelUp();
	void SetLevel(int level);
	void TakeDamage(int damage);


	int Level() const { return mLevel; }
	void Level(int val) { mLevel = val; }

	int Health() const { return mHealth; }
	void Health(int val) { mHealth = val; }

	int Damage() const { return mDamage; }
	void Damage(int val) { mDamage = val; }

	int Str() const { return str; }
	void Str(int val) { str = val; }

	int Agi() const { return agi; }
	void Agi(int val) { agi = val; }

	int Vit() const { return vit; }
	void Vit(int val) { vit = val; }

	float Speed() const { return speed; }
	void Speed(float val) { speed = val; }

	unsigned int AttackSpeed() const { return attackSpeed; }
	void AttackSpeed(unsigned int val) { attackSpeed = val; }
};